package com.ctsi.commons.util.zip;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipOutputStream;

public interface Zip {
	/**
	 * 解压
	 * @param zipout 输出文件的完整路径，例如"c:/test.zip",注意为右斜线。
	 * @param f 压缩包的根文件夹的名称
	 * @param base 压缩包的根文件夹的名称
	 * @throws FileNotFoundException 
	 * @throws Exception 
	 */
    void dozip(String zipout, File f, String base) throws Exception;
	/**
	 * 解压
	 * @param out  zip输出流
	 * @param f 压缩包的根文件夹的名称
	 * @param base 压缩包的根文件夹的名称
	 * @throws Exception
	 */
    void dozip(ZipOutputStream out, File f, String base)throws Exception;
	/**
	 * 解压
	 * @param zipout  输出文件的完整路径，例如"c:/test.zip",注意为右斜线。
	 * @param file 要压缩的文件或文件夹的完整路径，例如:"c:/test",注意为右斜线。
	 * @param base 压缩包的根文件夹的名称
	 * @throws Exception
	 */
    void dozip(String zipout, String file, String base)throws Exception;
	/**
	 * 解压
	 * @param zipout
	 * @param in
	 * @param base
	 * @throws Exception
	 */
    void dozip(String zipout, InputStream in, String base) throws Exception;
	
	
	void dozip(ZipOutputStream zipStream, InputStream in, String base) throws IOException;
}
